﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Telerik.WinControls;

namespace Sistema_de_Patrimonio.SDP_UI.Existencias
{
    public partial class Existencias_Alta : Telerik.WinControls.UI.RadForm
    {
        public Existencias_Alta()
        {
            InitializeComponent();
        }

        public int eos = 0;
        public int modifica = 0;
        public UInt32 Codigo = 0;

        private void BtnAltaCancelar_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void Existencias_Alta_Load(object sender, EventArgs e)
        {
            //txtTipo.Items[0].Selected = true;
           // txtAltaFechaMovimiento.Value = DateTime.Today.Date;
        }

        private void txtMovimiento_Validated(object sender, EventArgs e)
        {
            Decimal aux = 0;

            if (txtMovimiento.Text.Length == 0)
            {
                MessageBox.Show("Falta ingresar el Movimiento", "Movimientos", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                if (Convert.ToUInt32(txtTipo.SelectedItem.Tag) == 1) aux = Convert.ToDecimal(txtSaldoAnterior.Text) + Convert.ToDecimal(txtMovimiento.Text);
                else
                {
                    aux = Convert.ToDecimal(txtSaldoAnterior.Text) - Convert.ToDecimal(txtMovimiento.Text);

                    if (aux < 0)
                    {
                        MessageBox.Show("El stock disponible es inferior al solicitado", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        BtnAltaAceptar.Enabled = false;
                    }
                }
                BtnAltaAceptar.Enabled = true;
                txtNuevoSaldo.Text = aux.ToString().Trim();
                BtnAltaAceptar.Focus();
            }
        }

        private void BtnAltaAceptar_Click(object sender, EventArgs e)
        {
            if (txtMovimiento.TextLength == 0)
            {
                MessageBox.Show("Falta ingresar una cantidad de Movimiento", "Error...", MessageBoxButtons.OK, MessageBoxIcon.Information);
                txtMovimiento.Focus();
            }
            else
            {
                SDP_DAL.Existencia_DAL Insertar = new SDP_DAL.Existencia_DAL();
                if (modifica == 0)
                {
                    Insertar.InsertarMovimiento(Convert.ToUInt32(lblcuenta.Text), Convert.ToUInt32(lblarticulo.Text), Convert.ToDateTime(txtAltaFechaMovimiento.Value), txtComprobante.Text, txtProcedencia.Text, txtTipo.Text, Convert.ToDecimal(txtMovimiento.Text), Convert.ToDecimal(txtNuevoSaldo.Text));
                    MessageBox.Show("Se agregó el Movimiento con éxito", "Éxito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    Insertar.ModificarMovimiento(Codigo, Convert.ToUInt32(lblcuenta.Text), Convert.ToUInt32(lblarticulo.Text), Convert.ToDateTime(txtAltaFechaMovimiento.Value), txtComprobante.Text, txtProcedencia.Text, txtTipo.Text, Convert.ToDecimal(txtMovimiento.Text), Convert.ToDecimal(txtNuevoSaldo.Text));
                    MessageBox.Show("Se modificó el Movimiento con éxito", "Éxito", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                this.Close();
            }
        }

                private void txtEnter_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == (char)(Keys.Enter))
            {
                e.Handled = true; SendKeys.Send("{TAB}");
            }
            base.OnKeyPress(e);
        }

        private void txtDigitos_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }

            if (e.KeyChar == (char)(Keys.Enter))
            {
                e.Handled = true; SendKeys.Send("{TAB}");
            }
            base.OnKeyPress(e);
        }

        private void txtDecimals_KeyPress(object sender, KeyPressEventArgs e)
        {
           /* if (char.IsLetter(e.KeyChar) || e.KeyChar == '-' || (char.IsSymbol(e.KeyChar)))
            {
                e.Handled = true;
            }*/

            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) && !(e.KeyChar == ',') && !(e.KeyChar == '.'))
            {
                e.Handled = true;
            }

            if (e.KeyChar == ',')
            {
                e.Handled = true; SendKeys.Send(".");
            }
            base.OnKeyPress(e);

            if (e.KeyChar == (char)(Keys.Enter))
            {
                e.Handled = true; SendKeys.Send("{TAB}");
            }
            base.OnKeyPress(e);
        }

     }
}
